import 'package:flutter/foundation.dart';
import 'package:get/get.dart';

class CountController extends GetxController {
  final _count = 0.obs;
  set count(value) => _count.value = value;
  get count => _count.value;

  add() => _count.value++;

  @override
  void onInit() {
    super.onInit();

    // 每次
    ever(_count, (value) {
      if (kDebugMode) {
        print("ever -> $value");
      }
    });

    // 第一次
    once(_count, (value) {
      if (kDebugMode) {
        print("once -> $value");
      }
    });

    // 防抖 2 秒内
    debounce(
      _count,
          (value) {
        if (kDebugMode) {
          print("debounce -> $value");
        }
      },
      time: const Duration(seconds: 2),
    );

    // 定时器 1 秒
    interval(
      _count,
          (value) {
        if (kDebugMode) {
          print("interval -> $value");
        }
      },
      time: const Duration(seconds: 1),
    );
  }
}
